package es.udc.acs.banco.sesion;

import java.io.Serializable;

import es.udc.acs.utils.CodigosFAP;

public class SesionCerrada extends SesionState implements Serializable {

	private static final long serialVersionUID = -5470893235574859224L;

	@Override
	public String procesarRDatos() {
		// todos los mensajes de datos se rechazan

		return CodigosFAP.CE_NO_EXISTE_SESION;
	}

	@Override
	public String procesarRControl(String tipo) {
		// todos los mensajes de control se rechazan

		return CodigosFAP.CE_NO_EXISTE_SESION;
	}

	@Override
	public String obtenerEstado() {
	
		return "cerrada";
	}

	@Override
	public boolean detenerTrafico(Sesion sesion) {
		return false;
	}

	@Override
	public boolean reanudarTrafico(Sesion sesion) {
		return false;
	}

	@Override
	public boolean aperturaSesion(Sesion sesion) {
		
		return sesion.establecerEstado(new RecibirMensajes());
	}

	@Override
	public boolean cierreSesion(Sesion sesion) {
		return false;
	}

	@Override
	public boolean enRecuperacion(Sesion sesion) {
		return false;
	}

	@Override
	public boolean finRecuperacion(Sesion sesion) {
		return false;
	}

	@Override
	public boolean puedoDetenerTrafico() {
		return false;
	}

	@Override
	public boolean puedoReanudarTrafico() {
		return false;
	}

	@Override
	public boolean puedoAperturaSesion() {
		return true;
	}

	@Override
	public boolean puedoCierreSesion() {
		return false;
	}

	@Override
	public boolean puedoEnRecuperacion() {
		return false;
	}

	@Override
	public boolean puedoFinRecuperacion() {
		return false;
	}
}
